using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace Microsoft.PowerShell.CmdletManagement.CompareCmdlet
{
    public class ParameterMismatch : Mismatch
    {
        private PsSpecCmdletParameterData _parameter;
        private string _attribute;
        private string _specified;
        private string _implemented;

        public ParameterMismatch(PsSpecCmdletParameterData parameter, string attribute, string specified, string implemented)
        {
            _parameter = parameter;
            _attribute = attribute;
            _specified = specified;
            _implemented = implemented;
            base._mismatchMessage = String.Format("Error in Attribute[{0}], Specified[{1}] but Implemented[{2}].", attribute, specified, implemented);
        }

        public override string Cmdlet {
            get {return _parameter.ParameterSet.CmdletInfo.CompositeName();}
        }

        public override string ParameterSet {
            get {return _parameter.ParameterSet.Name;}
        }

        public override string Parameter {
            get {return _parameter.Name;}
        }
    }
}
